Electronic music instruments, such as electronic organs and synthesizers of various forms, have become very sophisticated in being able to digitally store a waveform formed of individually addressable samples. When the samples are read sequentially and converted into a signal for audio play through a speaker, a tone or sound is created representative of the stored waveform.
The desired objective, in terms of replicating actual acoustic instruments, is to make the replicated sound, sound as natural or life-like as possible while making the instrument as economical as possible. This is generally accomplished by providing a bank of oscillators or note generators that are fewer in number than the maximum number of actuating keys and stops. Also, the smaller the memory storing the waveforms, the less expensive the instrument.
With less than the complete sound stored in memory, it is difficult to reproduce this limited waveform in a manner that is truly life-like. One technique that has been developed is to generate waveform segments with a random process. This randomness then produces a randomness in the sound that is representative of some musical instruments, such as pipe organs and cymbals. Further, the random process prevents the introduction of artificial modulation effects from the process itself.
As an example, in U.S. Pat. No. 4,442,745, Gross et al. describe a process of repeating a portion of a waveform memory by progressing through the memory in a forward/reverse cycling that is pseudorandom in nature, followed by a pseudorandom repeating of a predetermined end portion of the waveform memory. The pattern of reading is generated from a memory table that stores the start and end addresses of each of the waveform segments that are read. This technique is not truly random since the pattern prevents returning to previously readout sections. Thus, any inherent characteristics in the waveform that change with time are essentially maintained.
Viitanen et al., in U.S. Pat. No. 4,502,361, disclose random recycling techniques in which the memory is read in a forward direction only. In one technique, the start address is randomly selected and the end address is always the end of the stored waveform. This results in the end of the waveform being read all the time, resulting in a repeating sound that does not vary. Alternatively, randomly selected single cycles of equal length are read. This technique results in the opposite effect in that sequentially read cycles are completely unrelated, producing a sense of discontinuity in the resulting sound. Many natural sounds have pitch gitter which equates to cycles of different lengths. Random looping with single cycles of equal length prevents pitch change.
Kato, in U.S. Pat. No. 4,524,666, provides a variation of this technique by generating a random number that is added to a set repeat address to produce a waveform segment start or loop address. In one embodiment only one complete steady-state cycle is used, in another embodiment four cycles are used. In this latter embodiment, as with an embodiment of Viitanen et al., the end address is always the end of the waveform. This again results in a repeating of the end waveform with every repeat loop through memory.
Katoh, in U.S. Pat. No. 4,785,702, discloses separately storing predefined sections of a recorded sound with each section having a plurality of periods. The sections are then randomly selected for readout. In order to generate a truly random sound, it is necessary to have a large memory in order to have enough sections. Further, unless the waveforms in the different sections are made to have some similarity, the resulting sound will have discontinuity.
In many musical instruments, the randomness is applied to a progressively and continuously varying base sound. Thus, these techniques will result in either no continuity between repeated loops or sections of memory, or will continuously repeat a portion of the memory in every loop cycle.
What is needed therefore is an electronic musical instrument and method for randomly selecting waveform segments from a stored waveform that maintains some continuity, even intermittently, as the waveform segments are read out. This would make apparent some time-varying characteristic of the natural sound.